﻿'
' Boogaloo® - http://www.mindfly.com
' Copyright (c) 2008
' by Mindfly, Inc.
'
' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
' documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
' the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
' to permit persons to whom the Software is furnished to do so, subject to the following conditions:
'
' The above copyright notice and this permission notice shall be included in all copies or substantial portions 
' of the Software.
'
' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
' INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
' DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
' SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
' SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
' WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
' THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Imports Boogaloo.Core.UI
Imports Boogaloo.Core.BLL
Imports Boogaloo.Admin.UI.Controls
Namespace UI.UserControls


    Partial Public Class Host_LayoutList
        Inherits CoreControlBase

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            lit_noitems.Visible = False
            Dim layouts As List(Of Node) = Groove.admin_root.layouts()

            rpt.DataSource = layouts
            rpt.DataBind()

            If rpt.Items.Count = 0 Then lit_noitems.Visible = True
        End Sub

        Protected Sub rpt_ItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles rpt.ItemDataBound

            Dim n As Node = CType(e.Item.DataItem, Node)
            If n IsNot Nothing Then

                Dim edit_url As String = String.Format("{0}LayoutEditor.aspx?node={1}", Groove.path_admin_host, n.node_id)
                Dim hyp_layout As HyperLink = CType(e.Item.FindControl("hyp_layout"), HyperLink)
                hyp_layout.NavigateUrl = edit_url
                hyp_layout.ToolTip = n.menu_item_text
                hyp_layout.Text = n.menu_item_text

                Dim hyp_edit As HyperLink = CType(e.Item.FindControl("hyp_edit"), HyperLink)
                hyp_edit.Text = "edit"
                hyp_edit.ToolTip = "Edit"
                hyp_edit.NavigateUrl = edit_url

                ' determine if this layout is being used
                Dim dwiz As CommitWizard = CType(e.Item.FindControl("dwiz"), CommitWizard)
                dwiz.ToolTip = "Delete"
                Dim lit_inuse As Literal = CType(e.Item.FindControl("lit_inuse"), Literal)
                If Node.GetNodesUseLayoutCount(n.node_id) > 0 Then
                    dwiz.Visible = False
                    lit_inuse.Visible = True
                Else
                    dwiz.CommandArgument = n.node_id
                    lit_inuse.Visible = False
                End If


            End If

        End Sub


        Protected Sub dwiz_Click(ByVal sender As Object, ByVal e As EventArgs)

            Dim dwiz As CommitWizard = CType(sender, CommitWizard)

            Dim n As Node = Node.GetNode(CType(dwiz.CommandArgument, Integer))

            n.Delete()

            Groove.RefreshPage()

        End Sub

    End Class


End Namespace